Methods, systems, and media for presenting content based on user preferences of multiple users in the presence of a media presentation device

ABSTRACT

Methods, systems, and media for associating multiple users with a media presentation device are provided. In some embodiments, the method comprises: receiving first user preferences; receiving second user preferences; receiving requests to associate the first user preferences and the second user preferences, respectively, with a media presentation device; causing the first user preferences and the second user preferences to be associated with identifying information of the media presentation device; receiving, from the media presentation device, a request to present a slideshow of images based on user preferences and identifying information of the first user device and a third user device; determining that the first user preferences are associated with the media presentation device; determining that user preferences of the third user device are not associated with the media presentation device; and causing content based on the first user preferences to be presented by the media presentation device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/319,100, filed Dec. 15, 2016, which is a national stage applicationunder 35 U.S.C. § 371 of International Patent Application No.PCT/US2015/037511, filed Jun. 24, 2015, which claims the benefit of U.S.Provisional Patent Application No. 62/016,421, filed Jun. 24, 2014, U.S.Provisional Patent Application No. 62/016,428, filed Jun. 24, 2014, U.S.Provisional Patent Application No. 62/016,575, filed Jun. 24, 2014, andU.S. Provisional Patent Application No. 62/016,580, filed Jun. 24, 2014.Each of the above-referenced patent applications is hereby incorporatedby reference herein in its entirety.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media forpresenting content based on user preferences of multiple users in thepresence of a media presentation device.

BACKGROUND

Media presentation devices that present background content, such as aslideshow of images, can access the content from a user account byreceiving and storing a username and password of the user account. Theusername and password are used to retrieve content associated with theaccount, which is then presented by the media presentation device.However, this requires user credentials to be stored by the mediapresentation device and also is limited to presenting content of onlyone user.

Accordingly, new methods, systems, and media for presenting contentbased on user preferences of multiple users in the presence of a mediapresentation device are desirable.

SUMMARY

In accordance with some implementations of the disclosed subject matter,mechanisms for associating multiple users with a media presentationdevice are provided.

In accordance with some implementations of the disclosed subject matter,a method for determining content to be presented is provided, the methodcomprising: receiving, from a media presentation device, a request forcontent to be used in presenting a slideshow of images based on userpreferences associated with user devices; receiving, from the mediapresentation device, identifying information of a first user device andidentifying information of a second user device; retrieving, using ahardware processor, first user preferences associated with a first userusing the identifying information of the first user device; retrieving,using the hardware processor, second user preferences associated with asecond user using the identifying information of the second user device;generating, using the hardware processor, combined user preferenceinformation based on the first user preferences and the second userpreferences; selecting, using the hardware processor, images for theslideshow from a plurality of images based on the combined userpreferences and metadata associated with each of the plurality ofimages; and causing, using the hardware processor, the mediapresentation device to present the selected images as part of theslideshow as a response to the request.

In accordance with some implementations of the disclosed subject matter,a system for determining content to be presented is provided, the systemcomprising: a hardware processor that is programmed to: receive, from amedia presentation device, a request for content to be used inpresenting a slideshow of images based on user preferences associatedwith user devices; receive, from the media presentation device,identifying information of a first user device and identifyinginformation of a second user device; retrieve, using a hardwareprocessor, first user preferences associated with a first user using theidentifying information of the first user device; retrieve, using thehardware processor, second user preferences associated with a seconduser using the identifying information of the second user device;generate, using the hardware processor, combined user preferenceinformation based on the first user preferences and the second userpreferences; select, using the hardware processor, images for theslideshow from a plurality of images based on the combined userpreferences and metadata associated with each of the plurality ofimages; and cause, using the hardware processor, the media presentationdevice to present the selected images as part of the slideshow as aresponse to the request.

In accordance with some implementations of the disclosed subject matter,a non-transitory computer-readable medium containing computer executableinstructions that, when executed by a processor, cause the processor toperform a method for determining content to be presented is provided,the method comprising: receiving, from a media presentation device, arequest for content to be used in presenting a slideshow of images basedon user preferences associated with user devices; receiving, from themedia presentation device, identifying information of a first userdevice and identifying information of a second user device; retrievingfirst user preferences associated with a first user using theidentifying information of the first user device; retrieving second userpreferences associated with a second user using the identifyinginformation of the second user device; generating combined userpreference information based on the first user preferences and thesecond user preferences; selecting images for the slideshow from aplurality of images based on the combined user preferences and metadataassociated with each of the plurality of images; and causing the mediapresentation device to present the selected images as part of theslideshow as a response to the request.

In accordance with some implementations of the disclosed subject matter,a system for determining content to be presented is provided, the systemcomprising: means for receiving, from a media presentation device, arequest for content to be used in presenting a slideshow of images basedon user preferences associated with user devices; means for receiving,from the media presentation device, identifying information of a firstuser device and identifying information of a second user device; meansfor retrieving first user preferences associated with a first user usingthe identifying information of the first user device; means forretrieving second user preferences associated with a second user usingthe identifying information of the second user device; means forgenerating combined user preference information based on the first userpreferences and the second user preferences; means for selecting imagesfor the slideshow from a plurality of images based on the combined userpreferences and metadata associated with each of the plurality ofimages; and means for causing the media presentation device to presentthe selected images as part of the slideshow as a response to therequest.

In some implementations, the selected images include images withmetadata indicating that the images are of the first user and imageswith metadata indicating that the images are of the second user, and theplurality of images includes images related to the first user and imagesrelated to the second user.

In some implementations, the system further comprises means fordetermining a common interest of the first user and the second userbased on the retrieved first user preferences and the retrieved seconduser preferences, wherein the means for selecting images selects imageswith metadata indicating that the image corresponds to the commoninterest.

In some implementations, the first user preferences include first userpreference scores for one or more topics based on the first userpreferences and the second user preferences include second userpreference scores for one or more topics based on the second userpreferences, and the means for generating combined user preferenceinformation comprises means for generating combined user preferencescores based on the first user preference scores and the second userpreference scores.

In some implementations, the system further comprises: means forgenerating a group identifier; means for associating the groupidentifier with the first device and the second device; and means forassociating the combined user preferences with the group identifier.

In some implementations, the system further comprises: means forreceiving an indication that the second user device is no longer inproximity to the presentation device; and means for inhibiting use ofthe combined user preferences in determining which content is to bepresented in response to receiving the indication.

In some implementations, the system further comprises: means forreceiving, from the media presentation device, identifying informationof a third user device; means for determining that third userpreferences associated with a third user are not associated with themedia presentation device; and means for inhibiting the third userpreferences from being used to generate the combined user preferences.

In accordance with some implementations of the disclosed subject matter,a method for presenting content based on multiple user's preferences isprovided, the method comprising: determining, using a hardware processorof a media presentation device, that content based on user preferencesof users associated with the media presentation device is to bepresented; identifying one or more user devices that are connected to anetwork to which the presentation device is also connected; receiving,from the one or more user devices, identifying information associatedwith each of the one or more user devices; submitting a request forcontent based on user preferences of users associated with the mediapresentation device to a remote server; transmitting the receivedidentifying information associated with the one or more user devices tothe remote server in association with the request for content; andcausing content indicated by the remote server as a response to therequest for content to be presented.

In accordance with some implementations of the disclosed subject matter,a system for presented content based on multiple user's preferences isprovided, the system comprising: means for determining that contentbased on user preferences of users associated with a media presentationdevice is to be presented; means for identifying one or more userdevices that are connected to a network to which the presentation deviceis also connected; means for receiving, from the one or more userdevices, identifying information associated with each of the one or moreuser devices; mean for submitting a request for content based on userpreferences of users associated with the media presentation device to aremote server; means for transmitting the received identifyinginformation associated with the one or more user devices to the remoteserver in association with the request for content; and means forcausing content indicated by the remote server as a response to therequest for content to be presented.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features, and advantages of the disclosed subjectmatter can be more fully appreciated with reference to the followingdetailed description of the disclosed subject matter when considered inconnection with the following drawings, in which like reference numeralsidentify like elements.

FIG. 1 shows an example of a generalized schematic diagram of a systemon which the mechanisms for presenting content based on user preferencesof multiple users in the presence of a media presentation device asdescribed herein can be implemented in accordance with someimplementations of the disclosed subject matter.

FIG. 2 shows an example of hardware that can be used to implement one ormore of the user devices, presentation devices and servers depicted inFIG. 1 in accordance with some implementations of the disclosed subjectmatter.

FIG. 3 shows an example of a process for presenting content based onuser preferences of multiple users in the presence of a mediapresentation device in accordance with some implementations of thedisclosed subject matter.

FIG. 4 shows a diagram illustrating an example of a data flow that canbe used in processes of FIG. 3 among a presentation device, userdevices, and one or more servers in accordance with some implementationsof the disclosed subject matter.

DETAILED DESCRIPTION

In accordance with some implementations of the disclosed subject matter,mechanisms (which can include methods, systems and media) for presentingcontent based on user preferences of multiple users in the presence of amedia presentation device are provided.

In some implementations, these mechanisms can allow user preferences formultiple users to be used when selecting content to be presented withoutrequiring each of the users to manually select content for presentation.In some implementations, a media presentation device, such as a digitalmedia receiver or media streaming device (which may not include adisplay) can request content to be presented when the media presentationdevice is on and outputting video data but lacks image and/or videocontent to be presented. For example, when the media presentation devicefirst starts (e.g., before any content is requested for presentation),after a predetermined period of time has elapsed with no activity, whenpresentation of content in a queue of content to be presented has beencompleted, etc., the media presentation device can request personalizedcontent to be presented. In such an example, personalized content canbe, for example, a slideshow of images that are determined to be ofinterest to a user or users associated with the media presentationdevice.

In some implementations, the media presentation device can detect thepresence of one or more user devices on a network that is common to themedia presentation device. Additionally, in some implementations,identifying information of user devices that the media presentationdevice detects as present can be used when requesting the personalizedcontent from, for example, a server. For example, the media presentationdevice can detect that a smartphone associated with a first user and atablet computer associated with a second user are connected to a Wi-Finetwork to which the media presentation device is also connected. Insuch an example, the media presentation device can send identifyinginformation of the smartphone and tablet, such as a MAC address, adevice ID, etc., to the server with a request for content.

In some implementations, a server can select content based on theidentifying information of devices that are detected by the mediapresentation device as being present. The server can, for example,identify user preferences for users associated with the devices that arepresent and select content based on a combination of the userpreferences. In some implementations, the server can cause the mediapresentation device to present the selected content.

FIG. 1 shows an example 100 of a generalized schematic diagram of asystem on which the mechanisms for presenting content based on userpreferences of multiple users in the presence of a media presentationdevice as described herein can be implemented in accordance with someimplementations of the disclosed subject matter. As illustrated, system100 can include one or more user devices 102. User devices 102 can belocal to each other or remote from each other. User devices 102 can beconnected by one or more communications links 104 to a communicationnetwork 106 that can be linked to a server 120 via a communications link112.

System 100 can include one or more presentation devices 110.Presentation devices 110 can be local to each other or remote from eachother. Presentation devices 110 can be connected by one or morecommunications links 108 to communication network 106 that can be linkedto server 120 via communications link 112 and/or user devices 102 viacommunications link 104.

System 100 can include one or more servers 120. Server 120 can be anysuitable server or servers for providing access to the mechanismsdescribed herein for presenting content based on user preferences ofmultiple users in the presence of a media presentation device, such as aprocessor, a computer, a data processing device, or any suitablecombination of such devices. For example, the mechanisms for associatingmultiple users with a presentation device can be distributed intomultiple backend components and multiple frontend components and/or userinterfaces. In a more particular example, backend components, such asmechanisms for receiving requests to associate user preferences with apresentation device, requests identifying user preferences associatedwith a particular presentation device, requests to present content basedon the user preferences, etc., can be performed on one or more servers120. In another particular example, frontend components, such asmechanisms for presenting of content, requesting content to bepresented, identifying user devices that are present, setting userpreferences, causing a user device to be associated with a presentationdevice, etc., can be performed on one or more user devices 102 and/orpresentation device 110.

In some implementations, each of user devices 102, presentation device110 and server 120 can be any of a general purpose device such as acomputer or a special purpose device such as a client, a server, etc.Any of these general or special purpose devices can include any suitablecomponents such as a hardware processor (which can be a microprocessor,digital signal processor, a controller, etc.), memory, communicationinterfaces, display controllers, input devices, etc. For example, userdevice 102 can be implemented as a smartphone, a tablet computer, awearable computer, a laptop computer, a portable game console, any othersuitable computing device, or any suitable combination thereof. Asanother example, presentation device 110 can be implemented as a digitalmedia receiver, a media streaming device, a game console, a set-top box,a television, a projector, any other suitable computing device, or anysuitable combination thereof.

Communications network 106 can be any suitable computer network orcombination of such networks including the Internet, an intranet, awide-area network (WAN), a local-area network (LAN), a wireless network,a Wi-Fi network, a digital subscriber line (DSL) network, a frame relaynetwork, an asynchronous transfer mode (ATM) network, a virtual privatenetwork (VPN), an intranet, one or more peer-to-peer connections, etc.Each of communications links 104, 108, and 112 can be any communicationslinks suitable for communicating data among user devices 102,presentation device 110 and server 120, such as network links, dial-uplinks, wireless links, hard-wired links, any other suitablecommunications links, or any suitable combination of such links. Notethat, in some implementations, multiple servers 120 can be used toprovide access to different mechanisms associated with the mechanismsdescribed herein for presenting content based on user preferences ofmultiple users in the presence of a media presentation device. Forexample, system 100 can include a user preferences server 120 thatstores user preferences associated with one or more users and/or one ormore user devices 102, a user preferences database server 120 thatmaintains one or more databases of correspondences between users and/oruser devices 102 with which a particular presentation device 110 isassociated, and a content delivery server 120 that determines whichcontent to cause to be presented by the particular presentation device110 based on the user preferences of users and/or user devices 102associated with presentation device 110, and/or any other suitableservers for performing any suitable functions of the mechanismsdescribed herein.

In some implementations, user device 102 can be associated with useridentifying information 130. User identifying information 110 canidentify a user of user device 102 and/or can identify user device 102.For example, in some implementations, user identifying information 130can be a token or other data associated with a user of user device 102.For example, the token or other data can identify a user associated witha particular user account of a product and/or service. In a moreparticular example, such a token or other information can include astring of characters that is associated with a particular email addressthat was used to sign in to an application on the user device. Asanother example, user identifying information 130 can be identifyinginformation of user device 102, such as a MAC address, a device ID, aserial number, and/or any other suitable identifying information of userdevice 102. As yet another example, user identifying information 130 canbe a combination of identifying information of a user and identifyinginformation of user device 102.

In some implementations, presentation device 110 can be associated withpresentation device identifying information 140. Presentation deviceidentifying information 140 can identify a user of presentation device110 and/or can identify presentation device 110. For example, in someimplementations, device identifying information 140 can be a token orother data associated with a user of presentation device 110. Forexample, the token or other data can identify a user associated with aparticular user account of a product and/or service. In a moreparticular example, such a token or other information can include astring of characters (which can be, for example, randomly assigned) thatis associated with a particular email address that was used as acredential to log in to an application on the presentation device. Asanother example, presentation device identifying information 140 can beidentifying information of presentation device 110, such as a MACaddress, a device ID, a serial number, and/or any other suitableidentifying information of presentation device 110. As yet anotherexample, presentation device identifying information 140 can be acombination of identifying information of a user and identifyinginformation of presentation device 110. In some implementations,presentation device identifying information 140 can include semanticallymeaningful identifying information, such as a user assigned name (e.g.,“Brett's Living Room Streaming Device”).

In some implementations, presentation device identifying information 140can include a persistent identifier for presentation device 110 that canbe assigned based on any suitable conditions. For example, a device IDof presentation device 110 can be assigned when presentation device 110is initialized and/or reinitialized. In a more particular example,during initialization presentation device 110 can contact a server torequest a persistent device ID. In some implementations, this device IDcan be assigned by the server such that each presentation device has aunique device ID. Additionally, presentation device 110 can receive adifferent device ID upon presentation device 110 being reset orotherwise reinitialized. In some implementations, such a device ID canbe used to associate user preferences and/or any other suitableinformation (e.g., at a server) with presentation device 110 for lateruse in determining content to be presented using presentation device110.

In some implementations, server 120 can store a user preferencesdatabase 150. User preferences database 150 can include user preferencesassociated with a user of a particular user device 102 (e.g., associatedwith user identifying information 130 of that user device 102).Additionally or alternatively, in some implementations, user preferencesdatabase 150 can include information identifying which users areassociated with which presentation devices (e.g., by relating useridentifying information 130 and presentation device identifyinginformation 140). In some implementations, information in userpreferences database 150 can be organized using any suitable techniqueor combination of techniques. For example, user preferences database 150can be organized as a relational database.

In some implementations, information stored in user preferences databasecan be stored such that personal information of a user is obscured. Forexample, user identifying information 130 and/or presentation deviceidentifying information 140 can be an assigned identification numberand/or code name and user preferences can be associated with such anidentification number and/or code name.

FIG. 2 shows an example 200 of hardware that can be used to implementone or more of user devices 102, presentation devices 110 and servers120 depicted in FIG. 1 in accordance with some implementations of thedisclosed subject matter. Referring to FIG. 2, user device 102 caninclude a hardware processor 202, a display/input device 204, memory 206and a transmitter/receiver 208, which can be interconnected. In someimplementations, memory 206 can include a storage device (such as acomputer-readable medium) for storing a user device program forcontrolling hardware processor 202.

Hardware processor 202 can use the user device program to execute and/orinteract with the mechanisms described herein for presenting contentbased on user preferences of multiple users in the presence of a mediapresentation device, controlling presentation of the content on thepresentation device, disassociating user preferences from thepresentation device, setting user preferences, etc. In someimplementations, the user device program can cause hardware processor202 to, for example, interact with a presentation device and/or a deviceexecuting at least a portion of process 300 as described below inconnection with FIG. 3. In some implementations, hardware processor 202can send and receive data through communications link 104 or any othercommunication links using, for example, a transmitter, a receiver, atransmitter/receiver, a transceiver, or any other suitable communicationdevice, such as transmitter/receiver 208. Display/input device 204 caninclude a touchscreen, a flat panel display, a cathode ray tube display,a projector, a speaker or speakers, and/or any other suitable displayand/or presentation devices, and/or can include a computer keyboard, acomputer mouse, one or more physical buttons, a microphone, a touchpad,a voice recognition circuit, a touch interface of a touchscreen, acamera, a motion sensor such as an optical motion sensor and/or anaccelerometer, a temperature sensor, a near field communication sensor,a biometric data sensor, and/or any other suitable input device. In someembodiments, display/input device 214 of presentation device 110 can beomitted. Transmitter/receiver 218 can include any suitable transmitterand/or receiver for transmitting and/or receiving, among other things,requests for content to be presented, content to be presented, signalsto determine whether one or more user devices 102 are present, etc., andcan include any suitable hardware, firmware and/or software forinterfacing with one or more communication networks, such as network 106shown in FIG. 2. For example, transmitter/receiver 218 can includenetwork interface card circuitry, wireless communication circuitry, USBinput and/or output circuitry, HDMI input and/or output circuitry,and/or any other suitable type of communication network circuitry, oneor more antennas, and/or any other suitable hardware, firmware and/orsoftware for transmitting and/or receiving signals.

Presentation device 110 can include a hardware processor 212, adisplay/input device 214, memory 216 and a transmitter/receiver 218,which can be interconnected. In some implementations, memory 216 caninclude a storage device (such as a computer-readable medium) forstoring a presentation device program for controlling hardware processor212.

Hardware processor 212 can use the presentation device program toexecute and/or interact with the mechanisms described herein forpresenting content based on user preferences of multiple users in thepresence of a media presentation device, requesting content to presentbased on user preferences of associated users, request and/or transmitpresentation device identifying information 140, etc. In someimplementations, the presentation device program can cause hardwareprocessor 212 to, for example, interact with a device executing at leasta portion of process 300 as described below in connection with FIG. 3.In some implementations, hardware processor 212 can send and receivedata through communications link 108 or any other communication linksusing, for example, a transmitter, a receiver, a transmitter/receiver, atransceiver, or any other suitable communication device, such astransmitter/receiver 218. Display/input device 214 can include atouchscreen, a flat panel display, a cathode ray tube display, aprojector, a speaker or speakers, and/or any other suitable displayand/or presentation devices, and/or can include a computer keyboard, acomputer mouse, one or more physical buttons, a microphone, a touchpad,a voice recognition circuit, a touch interface of a touchscreen, acamera, a motion sensor such as an optical motion sensor and/or anaccelerometer, a temperature sensor, a near field communication sensor,a biometric data sensor, and/or any other suitable input device.Transmitter/receiver 218 can include any suitable transmitter and/orreceiver for transmitting and/or receiving, among other things, requestsfor content to be presented, content to be presented, signals todetermine whether one or more user devices 102 are present, etc., andcan include any suitable hardware, firmware and/or software forinterfacing with one or more communication networks, such as network 106shown in FIG. 2. For example, transmitter/receiver 218 can includenetwork interface card circuitry, wireless communication circuitry,and/or any other suitable type of communication network circuitry, oneor more antennas, and/or any other suitable hardware, firmware and/orsoftware for transmitting and/or receiving signals.

Server 120 can include a hardware processor 222, a display/input device224, memory 226 and a transmitter/receiver 228, which can beinterconnected. In some implementations, memory 228 can include astorage device for storing data received through communications link 112or through other links. The storage device can further include a serverprogram for controlling hardware processor 222. In some implementations,memory 228 can include information stored as a result of user activityand/or activity by a presentation device (e.g., user preferences, useridentifying information 130, presentation device identifying information140, user preferences database 150, content to be presented, requestsfor content to be presented, user credentials for use in accessingcontent to be presented, etc.). In some implementations, the serverprogram can cause hardware processor 222 to, for example, execute atleast a portion of process 300 as described below in connection withFIG. 3.

Hardware processor 222 can use the server program to communicate withuser devices 102 and/or presentation device 110 as well as provideaccess to and/or copies of the mechanisms described herein. It shouldalso be noted that data received through communications link 112 or anyother communications links can be received from any suitable source. Insome implementations, hardware processor 222 can send and receive datathrough communications link 112 or any other communication links using,for example, a transmitter, a receiver, a transmitter/receiver, atransceiver, or any other suitable communication device, such astransmitter/receiver 228. In some implementations, hardware processor222 can receive commands and/or values transmitted by one or more userdevices 102, presentation device 110, one or more other servers 120,and/or one or more users of server 120, such as a user that makeschanges to adjust settings associated with the mechanisms describedherein for associating multiple users with a media presentation device.Display 224 can include a touchscreen, a flat panel display, a cathoderay tube display, a projector, a speaker or speakers, and/or any othersuitable display and/or presentation devices, and/or can include acomputer keyboard, a computer mouse, one or more physical buttons, amicrophone, a touchpad, a voice recognition circuit, a touch interfaceof a touchscreen, a camera, a motion sensor such as an optical motionsensor and/or an accelerometer, a temperature sensor, a near fieldcommunication sensor, a biometric data sensor, and/or any other suitableinput device. Transmitter/receiver 228 can include any suitabletransmitter and/or receiver for transmitting and/or receiving, amongother things, content to be presented, user preferences, useridentifying information 130, presentation device identifying information140, requests for content, etc., and can include any suitable hardware,firmware and/or software for interfacing with one or more communicationnetworks, such as network 106 shown in FIG. 2. For example,transmitter/receiver 228 can include network interface card circuitry,wireless communication circuitry, and/or any other suitable type ofcommunication network circuitry, one or more antennas, and/or any othersuitable hardware, firmware and/or software for transmitting and/orreceiving signals.

In some implementations, server 120 can be implemented in one server orcan be distributed as any suitable number of servers. For example,multiple servers 120 can be implemented in various locations to increasereliability and/or increase the speed at which the server cancommunicate with user devices 102 and/or presentation device 110.Additionally or alternatively, as described above in connection withFIG. 1, multiple servers 120 can be implemented to perform differenttasks associated with the mechanisms described herein.

FIG. 3 shows an example 300 of a process for presenting content based onuser preferences of multiple users in the presence of a mediapresentation device in accordance with some implementations of thedisclosed subject matter. As shown in FIG. 3, process 300 can begin, at302, by receiving a request to present content based on user preferencesof multiple users associated with a requesting device, such as apresentation device. In some implementations, the request can bereceived using any suitable technique or combination of techniques andcan be received from any suitable source such as a presentation deviceon which the content is to be presented and/or a user device associatedwith the presentation device.

At 304, process 300 can receive identifying information of user devicesdetected as being present by the requesting device (e.g., the devicefrom which the request for content is received at 302) and/or any othersuitable device. In some implementations, any suitable technique orcombination of techniques can be used to detect the presence of aparticular user device. For example, presentation device 110 can detectuser devices that are connected to a same local network as presentationdevice 110 (e.g., a LAN including a Wi-Fi network). As another example,presentation device 110 can broadcast and/or unicast one or moremessages targeting nearby user devices 102 using any suitablecommunication techniques, such as peer-to-peer communication techniques.In a more particular example, presentation device 110 can usetransmitter/receiver 218 to transmit one or more signals (e.g., usingany suitable communication standard such as Bluetooth, wireless USB,etc.) to any nearby user devices 102 which can, in some cases, receivethe signal using transmitter/receiver 208 and respond with a messageindicating that the user device is present. In another more particularexample, presentation device 110 can use a speaker to emit a signal assound waves, which can be outside the range of human hearing, to anynearby user devices 102 which can, in some cases, receive the signalusing a microphone and respond with a message indicating that the userdevice is present.

In some implementations, in lieu of or in addition to a user device 102responding to a signal from presentation device 110 to detect presenceof user devices 102, user device 102 can transmit a signal to server 120identifying itself as in the presence of presentation device 110.

At 306, process 300 can retrieve user preferences associated with theidentifying information of devices received at 304. In someimplementations, user preferences can be retrieved from any suitablelocation using any suitable technique or combination of techniques. Forexample, in some implementations, process 300 can cause user preferencesof users that are associated with the presentation device that sent therequest for content to be retrieved for use in determining which contentis to be presented by the requesting user device. Additionally, in someimplementations, a device executing process 300 (e.g., a first server120) or any other suitable device or combination of devices (e.g., oneor more other servers 120) can use the retrieved user preferences in anysuitable combination to determine content that is to be presented by arequesting presentation device. In some implementations, userpreferences can be retrieved from user preferences database 150 madeavailable by one or more servers 120.

In some implementations, process 300 can compare identifying informationfor each user received at 304 to identifying information correspondingto user preferences stored in association with the presentation devicethat requested the content. In such implementations, for users notassociated with the presentation device, process 300 can inhibit anyuser preferences of the non-associated users from being used indetermining which content to present. For example, presentation device110 and/or user devices 102 can send identifying information (e.g., aMAC address, a device ID, etc.) of all user devices that receive thesignal from presentation device 110 and/or respond to such a signal, andserver 120 executing process 300 can determine which of those devicesare associated with a user that has user preferences associated withpresentation device 110.

In some implementations, process 300 can cause user preferences of usersthat are associated with the presentation device that sent the requestfor content to be retrieved for use in determining which content is tobe presented by the requesting user device. Additionally, in someimplementations, a device executing process 300 (e.g., a first server120) or any other suitable device or combination of devices (e.g., oneor more other servers 120) can use the retrieved user preferences in anysuitable combination to determine content that is to be presented by arequesting presentation device.

In some implementations, identifying information of user devicesreceived at 304 can be grouped by process 300 using a group ID and/orany other suitable information to identify a particular combination ofdevices that are present. In such implementations, the group ID cancorrespond to user devices that are detected and for which there areuser preferences associated with presentation device 110. When acombination of user devices that is different from combinations of userdevices represented by existing group IDs is in proximity to apresentation device, a new group ID can be associated with the newcombination. User preferences corresponding to all user devicesrepresented by a group ID can be combined and associated with the groupID. These user preferences can then be used when that combination ofdevices is present. For example, when a first group of user devices ispresent a user preferences associated with first group ID can be used todetermine content that is to be presented by a presentation device. Insuch an example, when another user device that has user preferencesassociated with the presentation device becomes present (e.g., a newuser associates preferences with the user device, a user device withuser preferences already associated comes into proximity of the device,etc.) of when a device that is present is no longer present (e.g., auser disassociates their user device from the presentation device, auser device leaves a proximity of the presentation device, etc.), userpreferences associated with a different group ID can be used indetermine which content is to be presented. In some implementations,user preferences associated with a group ID can be updated in responseto any suitable action (e.g., user preferences of a particular userbeing updated, a user disassociating from the presentation device, aftera predetermined period of time has elapsed, etc.).

In some implementations, user preferences can, for example, include auser's stated interests, a user's implied interests, media content thatthe user has consumed, media content and/or products about which theuser has commented on and/or that the user has rated, and/or any othersuitable information about the user. In some implementations, a user'simplied interests can be based on user actions such as what types ofmedia content the user consumes, what types of products the user buys,the user's actions with relation to the content and/or products (e.g.,whether the user is engaged with the content/product by commentingand/or “liking” the content/product, a rating given to thecontent/product, etc.). In some implementations, a user is given anopportunity to determine which information is used in determining userpreferences. For example, in some implementations, user preferences canbe manually entered by a user. As another example, in someimplementations, a user can select one or more sources of informationthat may or may not be used in determining user preferences. In someimplementations, user preferences can be updated in response to a userinstruction to update user preferences (e.g., in response to a userediting user preferences, making changes to permissions of which sourcesof information can be used for determining user preferences, etc.).Additionally or alternatively, user preferences can be updatedautomatically based on any suitable criteria or criterion, such as inresponse to an event (e.g., in response to the user taking an actionwith relation to content and/or a product), in response to a particularperiod of time having elapsed, etc.

In some implementations, user preferences can include identifyinginformation of a user such as credentials, which can be used to accessand/or retrieve content associated with the user. Additionally oralternatively, user preferences can include information that can be usedto identify content that is related to the user, such as images of theuser, images taken by the user, etc.

At 308, process 300 can combine the retrieved user preferenceinformation for multiple users to generate combined user preferenceinformation. In some implementations, process 300 can use any suitabletechnique or combination of techniques to generate the combined userpreference information. For example, process 300 can use the retrieveduser preferences to identify areas where at least two users have sharedinterests. As another example, process 300 can combine user preferenceinformation based on information common to multiple users, such thatuser preference information common to multiple users receives moreweight in combined user preference information. As yet another example,process 300 can combine user preference information based on preferenceintensity associated with the user preferences of each user. As stillanother example, process 300 can use combinations of techniques togenerate combined user preference information. In a more particularexample, process 300 can generate one or more user preference scoresbased on the retrieved user preference information. Such scores can berelated to various topics and/or areas of content. The scores canrepresent a prediction of the combined users' interest in contentrelated to a particular topic and/or area of content.

At 310, process 300 can select content to be presented based on thecombined user preferences information and/or received identifyinginformation of user devices. In some implementations, the combined userpreference information can be used to select any suitable content forpresentation. For example, if the content requested at 302 is aslideshow of images, process 300 can use the combined user preferenceinformation to select images to be presented as part of the slideshow.In such an example, at 310, process 300 can select images that arerelated to topics and/or areas for which the combined user preferencesindicate there is likely to be interest.

As another example, process 300 can select content related to users ascontent to be presented at 310. In such an example, process 300 can useuser preference information such as a user account and/or credentialsassociated with a user to access and/or retrieve content associated withthe user, such as images of the user, images taken by the user, imagesthat the user showed interest in, images similar to images that the usershowed interest in, images from a social connection of the user whoseimages the user has previously shown interest in, etc. In such anexample, process 300 can select content related to each of the users at310, and/or can select content related to a particular user that islikely to be interesting to a second user based on the second user'suser preferences.

At 312, process 300 can cause selected content to be presented by thepresentation device. Any suitable technique or combination of techniquescan be used to cause the presentation device to present the selectedcontent. For example, the content can be sent to the presentation devicein response to the request for content received at 302. As anotherexample, a location or locations from which the selected content can beaccessed can be communicated to the presentation device, which can usethe location information to retrieve and present the selected content.

FIG. 4 shows a diagram illustrating an example 400 of a data flow thatcan be used in processes of FIG. 3 among a presentation device 110, userdevices 102-1 and 102-2, and one or more servers 120 in accordance withsome implementations of the disclosed subject matter. At 402,presentation device 110 can determine that content based on userpreferences of users that are present is to be presented. Such adetermination can be made based on any suitable factor or factors andcan be made in response to any suitable action. For example,presentation device 110 can make such a determination in response to arequest from a user device to present content based on user preferences.In a more particular example, user device 102-1 can receive an input toan application and/or web page indicating that a slideshow of imagesbased on user preferences is to be presented by presentation device 110,and the application and/or web page can cause user device 102-1 toinstruct presentation device 110 to present such content.

As another example, presentation device 110 can make such adetermination based on a lack of content requested by a user device. Ina more particular example, presentation device 110 can be powered on andbe selected for outputting content (e.g., by being connected to an HDMIport of a television that is selected as an active input for thetelevision), but not have instructions to present any content. In suchan example, presentation device 110 can determine that default contentis to be presented, where the default content can include content, suchas a slideshow of images, based on user preferences of detected users.

As still another example, if content has been queued for presentation bypresentation device 110 (e.g., based on instructions from user devices102-1, 102-2 and/or any other suitable user devices) and presentation ofall the queued content has been completed, presentation device 110 candetermine that default content such as the slideshow of images based onuser preferences is to be presented (e.g., as described above).

At 404, presentation device 110 can identify user devices that arepresent and receive user device identifying information of present userdevices. Presentation device 110 can identify user devices that arepresent using any suitable technique or combination of techniques. Forexample, as described above in connection with 304, presentation device110 can detect user devices that are connected to a same local networkas presentation device 110. In some implementations, a user device canbe determined to be present based on any suitable criterion orcombination of criteria, such as if the user device responds to amessage sent by presentation device 110.

At 406, user devices 102-1 and 102-2 that are present can respond to amessage from presentation device 110 with at least user identifyinginformation (e.g., which can include user identifying information 130).

At 408, presentation device 110 can request content based on userpreferences associated with the identified user devices (e.g., userdevices 102-1 and 102-2) for presentation. In some implementations,presentation device 110 can use any suitable technique of combination oftechniques to request content, such as techniques described above inconnection with 302 of FIG. 3.

At 410, server 120 can receive the request for content based on userpreferences associated with the devices identified at 404 and theidentifying information received at 404. In some implementations, 410can be similar to 302 and/or 304 of process 300 described above inconnection with FIG. 3.

At 412, server 120 can retrieve user preference information using theuser identifying information received at 410. In some implementations,412 can be similar to 306 of process 300 described above in connectionwith FIG. 3.

At 414, server 120 can select content to be presented based on acombination of the user preference information retrieved at 412. In someimplementations, 414 can be similar to 308 and/or 310 of process 300described above in connection with FIG. 3.

At 416, server 120 can cause the selected content to be presented bypresentation device 110. In some implementations, 416 can be similar to312 of process 300 described above in connection with FIG. 3.

At 418, presentation device 110 can cause the selected content to bepresented. In some implementations, causing the selected content to bepresented can include any suitable techniques for receiving the contentto be presented, requesting the content to be presented and/orpresenting the content to be presented. For example, presentation device110 can receive the content to be presented from a server (e.g., such asserver 120) for delivering content. The content can be received in anysuitable format and in response to any suitable request for content(and/or in the absence of a request for content in the case of contentthat is pushed to presentation device 110). As another example,presentation device 110 can receive location information indicating alocation from which the content to be presented can be accessed (whichcan include one or more addresses formatted in any suitable format). Insuch an example, presentation device 110 can use the locationinformation to retrieve and/or request the content.

As yet another example, presentation device can receive the content tobe presented and output the content as audio and/or video data using anoutput of presentation device 110. Such an output can be to display 214of presentation device 110, using an HDMI output of presentation device110 (e.g., to a television and/or other display device), and/or usingany other suitable technique of combination of techniques.

In some implementations, the mechanisms described herein can includesoftware, firmware, hardware, or any suitable combination thereof. Forexample, the mechanisms described herein can encompass a computerprogram written in a programming language recognizable by one or more ofhardware processors 202, 212 and 222 (e.g., a program written in aprogramming language, such as, Java, C, Objective-C, C++, C#,Javascript, Visual Basic, or any other suitable approaches). As anotherexample, the mechanisms described herein can encompass codecorresponding to one or more Web pages or Web page portions (e.g., viaany suitable encoding, such as Hyper Text Markup Language (“HTML”),Dynamic Hyper Text Markup Language (“DHTML”), Extensible Markup Language(“XML”), JavaServer Pages (“JSP”), Active Server Pages (“ASP”), ColdFusion, or any other suitable approaches).

In some implementations, any suitable computer readable media can beused for storing instructions for performing the functions and/orprocesses described herein. For example, in some implementations,computer readable media can be transitory or non-transitory. Forexample, non-transitory computer readable media can include media suchas magnetic media (such as hard disks, floppy disks, etc.), opticalmedia (such as compact discs, digital video discs, Blu-ray discs, etc.),semiconductor media (such as flash memory, electrically programmableread only memory (EPROM), electrically erasable programmable read onlymemory (EEPROM), etc.), any suitable media that is not fleeting ordevoid of any semblance of permanence during transmission, and/or anysuitable tangible media. As another example, transitory computerreadable media can include signals on networks, in wires, conductors,optical fibers, circuits, any suitable media that is fleeting and devoidof any semblance of permanence during transmission, and/or any suitableintangible media.

It should be understood that the above described steps of the processesof FIGS. 3 and 4 can be executed or performed in any order or sequencenot limited to the order and sequence shown and described in thefigures. Also, some of the above steps of the processes of FIGS. 3 and 4can be executed or performed substantially simultaneously whereappropriate or in parallel to reduce latency and processing times.

It should also be noted that, as used herein, the term mechanism canencompass hardware, software, firmware, or any suitable combinationthereof.

Accordingly, methods, systems, and media for presenting content based onuser preferences of multiple users in the presence of a mediapresentation device are provided.

Although the invention has been described and illustrated in theforegoing illustrative implementations, it is understood that thepresent disclosure has been made only by way of example, and thatnumerous changes in the details of implementation of the invention canbe made without departing from the spirit and scope of the invention,which is limited only by the claims that follow. Features of thedisclosed implementations can be combined and rearranged in variousways.

What is claimed is:
 1. A method for determining content to be presented,the method comprising: detecting, using a hardware processor of a mediapresentation device, presence of a plurality of user devices on acommunications network, wherein the plurality of user devices includes afirst user device and a second user device; selecting images for aslideshow of images from a plurality of images by accessing imagesassociated with a first user account of the first user device and imagesassociated with a second user account of the second user device;presenting the slideshow of images; detecting that the second userdevice has disassociated from the communications network; and inresponse to detecting that the second use device has disassociated fromthe communications network, inhibiting use of the images associated withthe second user account from being selected in the slideshow of images.2. The method of claim 1, further comprising receiving a request forcontent to be used in presenting the slideshow of images based on userpreferences associated with the plurality of user devices, wherein theselected images of the slideshow of images are presented in response tothe request.
 3. The method of claim 1, further comprising: receivingidentifying information of the first user device that includes the firstuser account and identifying information of the second user device thatincludes the second user account; and retrieving first user preferencesassociated with the first user account and second user preferencesassociated with the second user device.
 4. The method of claim 3,further comprising generating combined user preferences based on thefirst user preferences and the second user preferences.
 5. The method ofclaim 4, wherein the combined user preferences are generated bydetermining a common interest of the first user account and the seconduser account based on the retrieved first user preferences and theretrieved second user preferences, and wherein the images for theslideshow are selected by selecting images with metadata indicating thatthe image corresponds to the common interest.
 6. The method of claim 4,wherein the first user preferences include first user preference scoresfor one or more topics based on the first user preferences and thesecond user preferences include second user preference scores for one ormore topics based on the second user preferences, and wherein thecombined user preferences are generated by generating combined userpreference scores based on the first user preference scores and thesecond user preference scores.
 7. The method of claim 4, furthercomprising: generating a group identifier, wherein the first user deviceand the second user device are associated with the group identifier; andassociating the combined user preferences with the group identifier. 8.The method of claim 4, further comprising: receiving identifyinginformation of a third user device; and determining whether third userpreferences associated with a third user of the third user device areassociated with the media presentation device, wherein, in response todetermining that the third user preferences associated with the thirduser of the third user device are associated with the media presentationdevice, the combined user preferences are generated using the first userpreferences and the second user preferences while inhibiting the thirduser preferences from being used to generate the combined userpreferences.
 9. The method of claim 1, wherein the selected imagesinclude images with metadata indicating that the images are of a firstuser associated with the first user account and images with metadataindicating that the images are of a second user associated with thesecond user account, and the plurality of images includes images relatedto the first user and images related to the second user.
 10. The methodof claim 1, further comprising detecting that the second user device hasleft a proximity of the media presentation device.
 11. A system fordetermining content to be presented, the system comprising: a hardwareprocessor that is programmed to: detect presence of a plurality of userdevices on a communications network, wherein the plurality of userdevices includes a first user device and a second user device; selectimages for a slideshow of images from a plurality of images by accessingimages associated with a first user account of the first user device andimages associated with a second user account of the second user device;present the slideshow of images; detect that the second user device hasdisassociated from the communications network; and in response todetecting that the second use device has disassociated from thecommunications network, inhibit use of the images associated with thesecond user account from being selected in the slideshow of images. 12.The system of claim 11, wherein the hardware processor is furtherprogrammed to receive a request for content to be used in presenting theslideshow of images based on user preferences associated with theplurality of user devices, wherein the selected images of the slideshowof images are presented in response to the request.
 13. The system ofclaim 11, wherein the hardware processor is further programmed to:receive identifying information of the first user device that includesthe first user account and identifying information of the second userdevice that includes the second user account; and retrieve first userpreferences associated with the first user account and second userpreferences associated with the second user device.
 14. The system ofclaim 13, wherein the hardware processor is further programmed togenerate combined user preferences based on the first user preferencesand the second user preferences.
 15. The system of claim 14, wherein thecombined user preferences are generated by determining a common interestof the first user account and the second user account based on theretrieved first user preferences and the retrieved second userpreferences, and wherein the images for the slideshow are selected byselecting images with metadata indicating that the image corresponds tothe common interest.
 16. The system of claim 14, wherein the first userpreferences include first user preference scores for one or more topicsbased on the first user preferences and the second user preferencesinclude second user preference scores for one or more topics based onthe second user preferences, and wherein the combined user preferencesare generated by generating combined user preference scores based on thefirst user preference scores and the second user preference scores. 17.The system of claim 14, wherein the hardware processor is furtherprogrammed to: generate a group identifier, wherein the first userdevice and the second user device are associated with the groupidentifier; and associate the combined user preferences with the groupidentifier.
 18. The system of claim 14, wherein the hardware processoris further programmed to: receive identifying information of a thirduser device; and determine whether third user preferences associatedwith a third user of the third user device are associated with the mediapresentation device, wherein, in response to determining that the thirduser preferences associated with the third user of the third user deviceare associated with the media presentation device, the combined userpreferences are generated using the first user preferences and thesecond user preferences while inhibiting the third user preferences frombeing used to generate the combined user preferences.
 19. The system ofclaim 11, wherein the selected images include images with metadataindicating that the images are of a first user associated with the firstuser account and images with metadata indicating that the images are ofa second user associated with the second user account, and the pluralityof images includes images related to the first user and images relatedto the second user.
 20. The system of claim 11, wherein the hardwareprocessor is further programmed to detect that the second user devicehas left a proximity of the media presentation device.
 21. Anon-transitory computer-readable medium containing computer executableinstructions that, when executed by a processor, cause the processor toperform a method for determining content to be presented, the methodcomprising: detecting, using a hardware processor of a mediapresentation device, presence of a plurality of user devices on acommunications network, wherein the plurality of user devices includes afirst user device and a second user device; selecting images for aslideshow of images from a plurality of images by accessing imagesassociated with a first user account of the first user device and imagesassociated with a second user account of the second user device;presenting the slideshow of images; detecting that the second userdevice has disassociated from the communications network; and inresponse to detecting that the second use device has disassociated fromthe communications network, inhibiting use of the images associated withthe second user account from being selected in the slideshow of images.